(function( $ ){
	
	 $.fn.hoverCard = function( options ) {
		
		 // build main options before element iteration
		var opts = $.extend({}, $.fn.hoverCard.defaults, options);	
				
		// iterate and reformat each matched element
	    return this.each(function() {	    		    	
	    	if(typeof($(this).attr("uid"))!="undefined"){
	    		var $this = $(this);	    										
	    		$this.append($("<span class='tip'><div class='personLoadingImg'/></span>"));
				var img = $("<img class='tipImg' src='uploaded/images/thumb.png' style='display:none'/>");
				$this.hover(
					function () {					
						 tip = $this.find('.tip');						 
						 uid = $this.attr("uid");						 
						 tip.css({ top: $this.offsetTop - 210, left: $this.offsetLeft + $this.offsetWidth/2 , display:"inline-block"});						 
						 var option = { data: {"personId": uid}, url: 'toolTip!getPersonTip.action',
				                success: function (ret) {				               
				                	img.attr("src", ret.person.image.src);					                	
				                	tip.append(img);
				                	img.show();
				                }, 
				                beforeSend :function(){			                	
				                	$(".personLoadingImg").show();			                	
				                },
					            complete:function(){                	
					            	$(".personLoadingImg").hide();					            	
					            }    
							};				          
						 $.ajax(option);								 
						 tip.show();
					},
					  function () {						
						tip.hide();
					  }
					);					  
			}
	    	
	        
	        // call our format function
	        //t = $.fn.hilight.callback(markup);
	    });
	 };
	 
	 //private function
	 function init() {
		 
	 };
		 
	  // private function for debugging	  
	  function debug($obj) {
	    if (window.console && window.console.log)
	      window.console.log('hilight selection count: ' + $obj.size());
	  };
	  	  
	  // define and expose our callback function	  
	  $.fn.hoverCard.callback = function(txt) {
	    return '<strong>' + txt + '</strong>';
	  };
	  
	  // plugin defaults	  
	  $.fn.hoverCard.defaults = {			  
		  uid : '',
		  catagory: 'person'
	  };
	 	  	
})( jQuery );

//hoverCard: function(tag, uid, type){			
//	if(uid == null){						
//		$("div").each(function(){					
//			if(typeof($(this).attr("uid"))!="undefined"){
//				//var identity = $("'" + tag+ "[uid=" +uid +"]'")						
//				$(this).append($("<span class='tip'><div class='personLoadingImg'/></span>"));
//				var img = $("<img class='tipImg' src='uploaded/images/thumb.png'/>");
//				$(this).hover(
//					function () {					
//						 tip = $(this).find('.tip');	
//						 uid = $(this).attr("uid");
//						 tip.css({  top: this.offsetTop - 210, left: this.offsetLeft + this.offsetWidth/2 , display:"inline-block"});								 								
//						 var option = { data: {"personId": uid}, url: 'toolTip!getPersonTip.action',
//				                success: function (ret) {
//				                	resp = ret; 
//				                	img.attr("src", resp.person.image.src);						                	
//				                	tip.append(img);						                					                	
//				                }, 
//				                beforeSend :function(){			                	
//				                	$(".personLoadingImg").show();			                	
//				                },
//					            complete:function(){                	
//					            	$(".personLoadingImg").hide();
//					            }    
//							};				          
//						 $.ajax(option);								 
//						 tip.show();
//					},
//					  function () {						
//						tip.hide();
//					  }
//					);					  
//			}
//		})															
//	}